package dao.impl;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import utils.Pub;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import dao.inter.TestInterface;

public class Test implements TestInterface {
	private Logger logger = LogManager.getLogger(Test.class);

	@Override
	public JSONObject getGreeting() {
		JSONObject json = new JSONObject();
		json.put("greeting", "hello");
		return json;
	}

	/**
	 * 获取主塔倾斜数据，仅用于测试
	 * 
	 * @author ChenJinhua
	 * @return JOSNArray类型的数据
	 */
	@Override
	public JSONObject getOffsetData() {
		JSONObject json = new JSONObject();
		JSONObject jsonData = new JSONObject();
		JSONArray data = new JSONArray();
		logger.debug("1");

		json.put(Pub.SENSORID, "P10");
		json.put("offset", new double[] { 2.1, 2.4, 4.2, 4.5, 6.3 });
		json.put(Pub.TIME, new String[] { "1394194560000.0", "1394198160000.0", "1394200560000.0", "1394202960000.0",
				"1394204160000.0" });
		data.add(json);

		json.put(Pub.SENSORID, "P11");
		json.put("offset", new double[] { 3.1, 3.4, 3.2, 3.5, 4.3 });
		json.put(Pub.TIME, new String[] { "1394194560000.0", "1394198160000.0", "1394200560000.0", "1394202960000.0",
				"1394204160000.0" });
		data.add(json);

		json.put(Pub.SENSORID, "P12");
		json.put("offset", new double[] { 4.1, 4.4, 3.2, 2.5, 3.3 });
		json.put(Pub.TIME, new String[] { "1394194560000.0", "1394198160000.0", "1394200560000.0", "1394202960000.0",
				"1394204160000.0" });
		data.add(json);

		logger.debug("2");

		jsonData.put(Pub.STATUS, true);
		jsonData.put(Pub.DATA, data);

		logger.debug("3");
		return jsonData;
	}

	/**
	 * 获取主塔裂缝数据，仅用于测试
	 * 
	 * @author HuangYunjie
	 * @return JSONObject类型的数据
	 */
	@Override
	public JSONObject getFissureData() {
		JSONObject jsonData = new JSONObject();
		JSONObject data1 = new JSONObject();
		JSONArray data = new JSONArray();
		double[] time = { 1394194560000.0, 1394198160000.0, 1394200560000.0 };

		double[] rent = { 1.0, 2.0, 3.0 };

		jsonData.put(Pub.STATUS, true);
		jsonData.put(Pub.MESSAGE, " ");
		data1.put(Pub.SENSORID, "1234");
		data1.put("rent", rent);
		data1.put(Pub.TIME, time);
		data.add(data1);
		jsonData.put(Pub.DATA, data);
		return jsonData;
	}

	/**
	 * 获取主梁挠度数据，仅用于测试
	 * 
	 * @author HuangYunjie
	 * @return JSONObject类型的数据
	 */
	@Override
	public JSONObject getMainbeamDeflectionData() {
		JSONObject jsonData = new JSONObject();
		JSONObject data = new JSONObject();
		double[] time = { 1394194560000.0, 1394198160000.0, 1394200560000.0 };

		jsonData.put(Pub.STATUS, true);
		jsonData.put(Pub.MESSAGE, "");
		data.put(Pub.TIME, time);
		data.put("max", new double[] { 121511, 121512, 121513 });
		data.put("min", new double[] { 12.1511, 12.1512, 12.1513 });
		data.put("avg", new double[] { 10.1, 10.3, 10.5 });
		jsonData.put(Pub.DATA, data);
		jsonData.put("ceshi", "11111");
		return jsonData;
	}

	/**
	 * 获取主塔变形数据，仅用于测试
	 * 
	 * @author HuangYunjie
	 * @return JSONObject类型的数据
	 */
	@Override
	public JSONObject getMaintowerDeformationData() {
		JSONObject jsonData = new JSONObject();
		JSONObject data = new JSONObject();
		double[] time = { 1394194560000.0, 1394198160000.0, 1394200560000.0 };

		jsonData.put(Pub.STATUS, true);
		jsonData.put(Pub.MESSAGE, "");
		data.put("redWarning", 1215.11);
		data.put("yellowWarning", 12.15);
		data.put("max", new double[] { 121511, 121512, 121513 });
		data.put("min", new double[] { 12.1511, 12.1512, 12.1513 });
		data.put("avg", new double[] { 121.511, 121.512, 121.513 });
		data.put(Pub.TIME, time);
		jsonData.put(Pub.DATA, data);
		return jsonData;
	}

	/**
	 * 获取主缆索力数据，仅用于测试
	 * 
	 * @author HuangYunjie
	 * @return JSONObject类型的数据
	 */
	@Override
	public JSONObject getMaincableForceData() {
		JSONObject jsonData = new JSONObject();
		JSONObject data1 = new JSONObject();
		JSONArray data = new JSONArray();
		double[] time = { 1394194560000.0, 1394198160000.0, 1394200560000.0 };

		jsonData.put(Pub.STATUS, true);
		jsonData.put(Pub.MESSAGE, "");
		data1.put("sensorId", "1215");
		data1.put(Pub.TIME, time);
		data1.put("cableForce", new double[] { 121.51, 121.52, 121.53 });
		data.add(data1);
		jsonData.put(Pub.DATA, data);

		return jsonData;
	}

	/**
	 * 获取吊索索力数据，仅用于测试
	 * 
	 * @author HuangYunjie
	 * @return JSONObject类型的数据
	 */
	@Override
	public JSONObject getSlingCableforceData() {
		JSONObject jsonData = new JSONObject();
		JSONObject data1 = new JSONObject();
		JSONArray data = new JSONArray();
		double[] time = { 1394194560000.0, 1394198160000.0, 1394200560000.0 };

		jsonData.put(Pub.STATUS, true);
		jsonData.put(Pub.MESSAGE, "");
		data1.put("sensorId", "1215");
		data1.put(Pub.TIME, time);
		data1.put("cableForce", new double[] { 121.51, 121.52, 121.53 });
		data.add(data1);
		jsonData.put(Pub.DATA, data);

		return jsonData;
	}

	/**
	 * 获取钢箱梁应变数据，仅用于测试
	 * 
	 * @author HuangYunjie
	 * @return JSONObject类型的数据
	 */
	@Override
	public JSONObject getSteelBoxGirderStrainData() {
		JSONObject jsonData = new JSONObject();
		JSONObject data1 = new JSONObject();
		JSONArray data = new JSONArray();
		double[] time = { 1394194560000.0, 1394198160000.0, 1394200560000.0 };

		jsonData.put(Pub.STATUS, true);
		jsonData.put(Pub.MESSAGE, "");
		data1.put("sensorId", "1215");
		data1.put(Pub.TIME, time);
		data1.put("strain", new double[] { 1215.11, 1215.12, 1215.13 });
		data.add(data1);
		jsonData.put(Pub.DATA, data);

		return jsonData;
	}

	/**
	 * 获取箱梁裂缝数据，仅用于测试
	 * 
	 * @author HuangYunjie
	 * @return JSONObject类型的数据
	 */
	@Override
	public JSONObject getBoxGirderCrackData() {
		JSONObject jsonData = new JSONObject();
		JSONObject data1 = new JSONObject();
		JSONArray data = new JSONArray();
		double[] time = { 1394194560000.0, 1394198160000.0, 1394200560000.0 };

		jsonData.put(Pub.STATUS, true);
		jsonData.put(Pub.MESSAGE, "");
		data1.put("sensorId", "1215");
		data1.put(Pub.TIME, time);
		data1.put("rent", new double[] { 1215.11, 1215.12, 1215.13 });
		data.add(data1);
		jsonData.put(Pub.DATA, data);

		return jsonData;

	}

}
